package com.jxd.ordering.dao;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jxd.ordering.model.Dept;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface DeptMapper {
    /**
     * 新增部门信息
     * @param dept 部门实体类
     * @return 是否新增成功
     */
    boolean insertDept(Dept dept);

    /**
     * 修改部门信息
     * @param dept 部门实体类
     * @return 是否修改成功
     */
    boolean updateDept(Dept dept);

    /**
     * 批量删除部门信息
     * @param deptnos 部门编号数组
     * @return 是否删除成功
     */
    boolean deleteDept(@Param("deptnos") int[] deptnos);

    /**
     * 分页查询全部部门信息
     * @param page 分页插件
     * @param map 包含 int page, int limit
     * @return 查询结果
     */
    IPage<Dept> selectDeptByPage(IPage<Dept> page, Map<String, String> map);

    /**
     * 按部门编号查询部门信息
     * @param deptno 部门编号
     * @return 部门实体类
     */
    Dept selectDeptByDeptno(int deptno);

    /**
     * 查询全部部门信息
     * @return 查询结果
     */
    List<Dept> selectAllDept();

    /**
     * 查询部门数
     * @return 查询结果
     */
    int selectDeptNum();
}
